package com.itheima.servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/demo14")
public class ServletDemo14 extends HttpServlet {
    /*

        请求转发和重定向的区别:
              1.请求转发中的路径设置 / 是根路径   重定向不是
              2.请求转发地址栏不会改变  重定向会改变
              3.请求转发可以携带作用域数据  重定向不可以(只可以携带Context全局作用域数据)
              4.请求转发和重定向都可以携带应用上下文对象(Context)
              重定向两次请求响应在过程中 作用域数据会丢失
     */


    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // request对象  request作用域
        //无需创建对象  已有
        req.setAttribute("username","zhangsan");

        //请求转发  可以携带数据
        req.getRequestDispatcher("/demo15").forward(req,resp);

        //重定向  只可以携带Context全局作用域 数据
        resp.sendRedirect(req.getContextPath()+"/demo15");




    }
}
